description = "Spring Messaging"

apply plugin: "kotlin"
apply plugin: "kotlinx-serialization"

dependencies {
	api(project(":spring-beans"))
	api(project(":spring-core"))
	optional(project(":spring-context"))
	optional(project(":spring-oxm"))
	optional("com.fasterxml.jackson.core:jackson-databind")
	optional("com.google.code.gson:gson")
	optional("com.google.protobuf:protobuf-java-util")
	optional("io.projectreactor.netty:reactor-netty-http")
	optional("io.projectreactor.netty:reactor-netty5-http")
	optional("io.rsocket:rsocket-core")
	optional("io.rsocket:rsocket-transport-netty")
	optional("jakarta.json.bind:jakarta.json.bind-api")
	optional("jakarta.xml.bind:jakarta.xml.bind-api")
	optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
	optional("org.jetbrains.kotlinx:kotlinx-serialization-json")
	testImplementation(project(":spring-core-test"))
	testImplementation(testFixtures(project(":spring-core")))
	testImplementation("com.thoughtworks.xstream:xstream")
	testImplementation("io.projectreactor:reactor-test")
	testImplementation("io.reactivex.rxjava3:rxjava")
	testImplementation("jakarta.inject:jakarta.inject-tck")
	testImplementation("jakarta.servlet:jakarta.servlet-api")
	testImplementation("jakarta.validation:jakarta.validation-api")
	testImplementation("org.apache.activemq:activemq-broker")
	testImplementation("org.apache.activemq:activemq-kahadb-store")
	testImplementation("org.apache.activemq:activemq-stomp")
	testImplementation("org.jetbrains.kotlin:kotlin-reflect")
	testImplementation("org.jetbrains.kotlin:kotlin-stdlib")
	testImplementation("org.skyscreamer:jsonassert")
	testImplementation("org.xmlunit:xmlunit-assertj")
	testImplementation("org.xmlunit:xmlunit-matchers")
	testRuntimeOnly(project(":spring-context"))
	testRuntimeOnly("com.sun.activation:jakarta.activation")
	testRuntimeOnly("com.sun.xml.bind:jaxb-core")
	testRuntimeOnly("com.sun.xml.bind:jaxb-impl")
	testRuntimeOnly("jakarta.json:jakarta.json-api")
	testRuntimeOnly("org.eclipse:yasson")
}
